#ifndef CPP_INPUT_METHOD_BASE_H
#define CPP_INPUT_METHOD_BASE_H

#include <vector>
#include <widget/View.h>
#include <utils/InputMethodManager.h>

class ViewGroup;

//@brief 输入法接口
//@author cvte
//@description
class InputMethodBase {
   public:
    InputMethodBase();
    virtual ~InputMethodBase();
    virtual void initUi();
    virtual void unInitUi();
    virtual void setImeType(int imeTypeSupport, IME_TYPE imeTypeDefault);
    virtual void switchImeType(IME_TYPE imeType);
    ViewGroup* getUi();

   protected:
    ViewGroup* mUi = nullptr; //当前输入法界面
    IME_TYPE mImeTypeCur = IME_TYPE_ENGLISH; //当前输入法类型
    int mImeTypeSupport = IME_TYPE_ALL; //输入法支持的类型（中文、英文等）
    IME_TYPE mImeTypeDefault = IME_TYPE_ENGLISH; //输入法默认显示的类型（中文、英文等）
};

#endif